﻿/********************************************************************************/
/* 	keypad.d																	*/
/*------------------------------------------------------------------------------*/
/*	製作		（　゜ワ゜）ノ　／　松久貫太									*/
/*	製作開始　	2007/05/11														*/
/*	MAIL		omega@personal.email.ne.jp										*/
/*	URL		http://nagoya.cool.ne.jp/o_mega										*/
/*																				*/
/*	このソースは「やらわかライセンス」の元で配布されています。					*/
/*-更新履歴---------------------------------------------------------------------*/
/*	2007/--/--																	*/
/*-その他-----------------------------------------------------------------------*/
/*	なし																		*/
/********************************************************************************/

/* ライブラリのインポート *******************************************************/
private import hell2;		// dHell2ライブラリ

class Keypad
{
	int player = -1;
	this(int player)
	{
		this.player = player;
	}
	
	/*
	 * エンターキーを押している(KeyPress)か
	 * 引数   : 
	 * 戻り値 : 押しているならtrue
	 */
	bool isPressEnter()
	{
		if(Hell_isPressKey(HELL_z) && player == 0) return true;
		if(Hell_isPressKey(HELL_SPACE) && player == 0) return true;
		if(Hell_isPressJButton(0 , player))  return true;
		return false;
	}

	/*
	 * エンターキーを押した(KeyDown)か
	 * 引数   : 
	 * 戻り値 : 押したならtrue
	 */
	bool isPushEnter()
	{
		if(Hell_isPushKey(HELL_z) && player == 0) return true;
		if(Hell_isPushKey(HELL_SPACE) && player == 0) return true;
		if(Hell_isPushJButton(0 , player))  return true;
		return false;
	}

	/*
	 * キャンセルキーを押しているか(KeyPress)か
	 * 引数   : 
	 * 戻り値 : 押しているならtrue
	 */
	bool isPushCancel()
	{	
		if(Hell_isPushKey(HELL_x) && player == 0) return true;
		if(Hell_isPushJButton(1 , player))  return true;
		return false;
	}

	// Press

	/*
	 * 左キーを押している(KeyPress)か
	 * 引数   : 
	 * 戻り値 : 左キーを押しているならtrue
	 */
	bool isPressLeft()
	{
		if(Hell_isPressKey(HELL_LEFT) && player == 0)    return true;
		if(Hell_isPressJKey(HELL_J_LEFT , player)) return true;
		return false;
	}
	/*
	 * 上キーを押している(KeyPress)か
	 * 引数   : 
	 * 戻り値 : 上キーを押しているならtrue
	 */
	bool isPressUp()
	{
		if(Hell_isPressKey(HELL_UP) && player == 0)    return true;
		if(Hell_isPressJKey(HELL_J_UP , player)) return true;
		return false;
	}
	/*
	 * 右キーを押している(KeyPress)か
	 * 引数   : 
	 * 戻り値 : 右キーを押しているならtrue
	 */
	bool isPressRight()
	{
		if(Hell_isPressKey(HELL_RIGHT) && player == 0)    return true;
		if(Hell_isPressJKey(HELL_J_RIGHT , player)) return true;
		return false;
	}
	/*
	 * 下キーを押している(KeyPress)か
	 * 引数   : 
	 * 戻り値 : 下キーを押しているならtrue
	 */
	bool isPressDown()
	{
		if(Hell_isPressKey(HELL_DOWN) && player == 0)    return true;
		if(Hell_isPressJKey(HELL_J_DOWN , player)) return true;
		return false;
	}

	// Down

	/*
	 * 左キーを押した(KeyDown)か
	 * 引数   : 
	 * 戻り値 : 左キーを押したならtrue
	 */
	bool isPushLeft()
	{
		if(Hell_isPushKey(HELL_LEFT) && player == 0)    return true;
		if(Hell_isPushJKey(HELL_J_LEFT , player)) return true;
		return false;
	}
	/*
	 * 上キーを押した(KeyDown)か
	 * 引数   : 
	 * 戻り値 : 上キーを押したならtrue
	 */
	bool isPushUp()
	{
		if(Hell_isPushKey(HELL_UP) && player == 0)    return true;
		if(Hell_isPushJKey(HELL_J_UP , player)) return true;
		return false;
	}
	/*
	 * 右キーを押した(KeyDown)か
	 * 引数   : 
	 * 戻り値 : 右キーを押したならtrue
	 */
	bool isPushRight()
	{
		if(Hell_isPushKey(HELL_RIGHT) && player == 0)    return true;
		if(Hell_isPushJKey(HELL_J_RIGHT , player)) return true;
		return false;
	}
	/*
	 * 下キーを押した(KeyDown)か
	 * 引数   : 
	 * 戻り値 : 下キーを押したならtrue
	 */
	bool isPushDown()
	{
		if(Hell_isPushKey(HELL_DOWN) && player == 0)    return true;
		if(Hell_isPushJKey(HELL_J_DOWN , player)) return true;
		return false;
	}
}

//--------------------------------------------------------------------
/*
class Pad{
	void refresh(){}
}

class Mousepad : Pad
{
	int mousex,mousey;
	int button;
	
	this()
	{
		mousex = mousey = 0;
		leftbutton = rightbutton = false;
	}
	
	void refresh()
	{
		mousex = Hell_getMouseX();
		mousey = Hell_getMouseY();
		button = Hell_isPushMouse();
	}
}

public template class Recordable(T)
{
	T[] record;
	int seekpoint;
}
*/